import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)

// 创建store
const store = new Vuex.Store({
  state: {
    num: 0
  },
  mutations: {
    // 定义修改state的方法
    init_num (state, n) {
      state.num = n
    },
    add_num (state, n) {
      state.num += n
    },
    reduce_num (state, n) {
      state.num -= n
    }
  },
  actions: {
    /* fetch_num (context) {
      // context 就是 store这个仓库 和 组件中this.$store一样
      setTimeout(() => {
        const num = 100
        // 拿到结果后提交mutation来赋值
        context.commit('add_num', num)
      }, 2000)
    } */
    fetch_num ({ commit }, n) {
      // context 就是 store这个仓库 和 组件中this.$store一样
      setTimeout(() => {
        const num = 100
        // 拿到结果后提交mutation来赋值
        commit('add_num', num)
      }, 2000)
    }
  }
})

export default store
